数字 PID 控制器

模拟式PID控制器的离散化,得到数字控制器

一、数字 PID 算法

u(t)=Kp[e(t)+1Ti0te(τ)dτ+Tdde(t)dt]D(s)=U(s)E(s)=Kp(1+1Tis+Tds){u(t)u(k)e(t)e(k)0te(τ)dτj=0ke(j)Tde(t)dte(k)e(k1)T

1. 位置式 PID 算法

u(k)=Kpe(k)+Kij=0ke(j)+Kd[e(k)e(k1)]

2. 增量式 PID 算法

Δu=u(k)u(k1)=Kp[e(k)e(k1)]+Kie(k)+Kd[e(k)2e(k1)+e(k2)]=(Kp+Ki+Kd)e(k)(Kp+2Kd)e(k1)+Kde(k2)

3. 一般 PID 算法的离散化

一般常用模拟控制器离散化#二、差分变换法 ,用后向差分,或双线性差分,并写为控制器的形式

二、改进的数字 PID 算法

改进PID.png

1. 积分分离算法

在系统误差较大时,取消积分作用;当误差减小到一定值时,再重新积分。e0 为积分分离阈值
|e(k)|e0 采用 PID 控制,保证稳态误差为 0
|e(k)|>e0 采用 PD 控制,大幅度减小超调量

u(k)=Kp[e(k)+TTii=0ke(i)+TdT(e(k)e(k1))]i=0ke(i)={i=0ke(i)|e(k)|e0i=0k1e(i)|e(k)|>e0

2. 抗饱和积分算法

输出限幅,输出超限时不积分

i=0ke(i)={i=0ke(i)uminu(k)umaxi=0k1e(i)umin>u(k)oru(k)>umax

3. 遇限削弱算法

i=0ke(i)={i=0ke(i){|u(k)|u0u(k)>u0ande(k)<0u(k)<u0ande(k)>0i=0k1e(i){u(k)>u0ande(k)>0u(k)<u0ande(k)<0

4. 不完全微分

纯微分环节对噪声很敏感,可以串接一个惯性环节来抑制高频影响

Gf=1Tfs+1=U(s)U1(s)Tfdu(t)dt+u(t)=u1(t)Tfu(k)u(k1)T+u(k)=u1(k)u(k)=TfTf+Tu(k1)+TTf+Tu1(k)

5. 微分先行

Pasted image 20250420145831.png

输出量微分:只对输出量进行微分,避免因给定值变化给控制系统带来超调量过大、调节阀动作剧烈的冲击
偏差量微分:对给定值和输出量均微分

控制器的正反作用实现:
反作用:e=ry
正作用:e=yr

6. 带死区的 PID

i=0ke(i)={i=0ke(i)|e(k)|>e0i=0k1e(i)|e(k)|e0